﻿using System;

namespace Cshort_第一阶段总练习
{
    class Program
    {
        
        static void Main(string[] args)
        {
            //one();
            //two();
            //three();
            //four();
            //five();
            six();
            //seven();
            //eight();
            //nine();

        }
        public static void one()
        {

            //  1,编写一个程序，对输入的4个整数，求出其中的最大值和最小值，并显示出来。
            int[] a = { 5, 6, 7, 8 };
            int num = a[0];
            int c = a[0];
            for (int i = 0; i < a.Length; i++)
            {
                if (a[i] < c)
                {
                    c = a[i];

                }
                else if (a[i] > num)
                {
                    num = a[i];
                }
            }
            Console.WriteLine($"最大值是{num},最小值是{c}");
        }

        public static void two()
        {
            //2,让用户输入两个整数，然后再输入0 - 3之间的一个数，0代表加法，1代表减法，2代表乘法，3代表除法,计算这两个数字的结果
            Console.WriteLine("请输入第一个整数");
            int a = Convert.ToInt32(Console.ReadLine());//第一个数
            Console.WriteLine("请输入第二个整数");
            int b = Convert.ToInt32(Console.ReadLine());//第二个数
            Console.WriteLine("请输入0-3之间的一个数,0 = +,1 = -,2 = *,3 = / ");
            int c = Convert.ToInt32(Console.ReadLine());
            if (c == 0)
            {
                a += b;
                Console.WriteLine($"你计算的结果是{a}");
            }
            else if (c == 1)
            {
                a -= b;
                Console.WriteLine($"你计算的结果是{a}");
            }
            else if (c == 2)
            {
                a *= b;
                Console.WriteLine($"你计算的结果是{a}");
            }
            else if (c == 3)
            {
                a /= b;
                Console.WriteLine($"你计算的结果是{a}");
            }
            else if (c > 3)
            {
                Console.WriteLine("您输入的不是0-3之间的数");
                Console.ReadKey();
            }
            else
            {
                Console.WriteLine("您输入错误哦，请重新写入");
            }

        }

        public static void three()
        {
            int num = 0;//存5个数的和
            int c = 0;//记数器
            //3,求出1~1000之间的所有能被7整除的数，并计算和输出每5个的和。
            for (int i = 1; i < 1000; i++)
            {
                if (i % 7 == 0)
                {
                    num += i;
                    c++;//用来记录每次到5的次数
                    Console.WriteLine($"可以被7整除的数{i}");
                }
                if (c == 5)
                {
                    Console.WriteLine($"这5个数的和是{num}");
                    num = 0;//重置一下和
                    c = 0;//重置一下次数
                }
            }
            Console.ReadKey();
        }

        public static void four()
        {
            //4,编写一个控制台程序，分别输出1~100之间的平方、平方根。
            for (int i = 1; i < 100; i++)
            {
                Console.WriteLine("平方是{0}",Math.Pow(i,2));
                Console.WriteLine("平方根是{0}，", Math.Sqrt(i));
            }
        }

        public static void five()
        {
            int a = 0;//存次数
            //5,编程输出1~100中能被3整除但不能被5整除的数,并统计有多少个这样的数。
            for (int i = 1; i < 100; i++)
            {
                if(i % 3 == 0 && i % 5 !=0)
                {
                    a++;
                    Console.WriteLine($"能被3整除不能被5整除的数是{i}");
                }
            }
            Console.WriteLine($"能被3整除不能被5整除的数有{a}个");
        }

        public static void six()
        {
            // 6,编程输出九九乘法表。
            int i;
            int j;
            int num;
            for ( i = 1; i < 10; i++)
            {
                for (j = 1; j <= i; j++)
                {
                    Console.Write($"{j}*{i}={j*i}\t");
                }
                Console.WriteLine();
            }
           
        }

        public static void seven()
        {
            // 7,一个控制台应用程序，输出1~5的平方值，要求：用for语句实现。用while语句实现。用do - while语句实现。

            for (int i = 1; i < 6; i++)
            {
                Console.WriteLine(Math.Pow(i,2));
            }
            Console.WriteLine("---------------------------------------------");
            int a = 5;
            while (true)
            {
                if (a > 0)
                {
                    Console.WriteLine(Math.Pow(a, 2));
                    --a;
                }
                else
                {
                    break;
                }

            }
            int b = 1; 
            do
            {
                
                    Console.WriteLine("{0}到5的平方值{1}",b,b*b);
            } while (b++ <5);
        }

        public static void eight()
        {
            //8,一个控制台应用程序,要求用户输入5个大写字母，如果用户输入的信息不满足要求，提示帮助信息并要求重新输入。
            bool b = true;
            while (b)
            {
                Console.WriteLine("请输入5个大写字母");
                string s = Console.ReadLine();
                if (s.Length != 5)
                {
                    Console.WriteLine("输入错误，请重新输入");
                }
                else
                {
                        for (int i = 0; i < 5; i++)
                        {
                            char c = s[i];
                            if (c < 'A' || c > 'Z')
                            {
                                Console.WriteLine("第{0}个字符“{1}”不是大写字母，请重新输入。", i + 1, c);
                                b = false;
                                break;
                            }
                        else
                        {
                            Console.WriteLine($"您输入的字母为{c}");
                            b = false;
                        }
                    }
                }
            }
        }

        public static void nine()
        {
            //9,一个控制台应用程序，要求完成写列功能。
            //1）接收一个整数n。
            //2）如果接收的值n为正数，输出1~n间的全部整数。
            //3）如果接收的值n为负值，用break或者return退出程序。
            //4）如何n为0的话 转到1继续接收下一个整数。
            bool b = true;
            int a;
            while (b)
            {
                Console.WriteLine("请输入一个整数");
                try
                {
                    a = Convert.ToInt32(Console.ReadLine());
                }
                catch
                {
                    Console.WriteLine("您输入的错误哦，请重新输入");
                    continue;
                }
                if(a>0)
                {
                    for (int i = 0; i <= a; i++)
                    {
                        Console.WriteLine(i);
                        b = false;
                    }
                }
                else if(a==0)
                {
                    continue;
                }
                else
                {
                    break;
                }
            }
        }
    }
}